package com.triones.yjj.service;

import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;
import com.triones.yjj.entity.ActivityDO;
import com.triones.yjj.entity.InviteRewardDO;
import com.triones.yjj.entity.bo.*;
import com.triones.yjj.entity.vo.*;

import java.util.List;
import java.util.Map;

/**
 * 客户分销记录 service 接口
 *
 * @Author: triones
 */
public interface MemberDistributionRecordService {

    TableDataInfo<WxMemberDistributionRecordVO> getList(Long memberId, PageQuery pageQuery);

    /**
     * 一级分销
     * @param memberId
     * @param pageQuery
     * @return
     */
    TableDataInfo<WxMemberDistributionRecordVO> getOneDistributionRecordList(Long memberId,Long activityId, PageQuery pageQuery);

    /**
     * 二级分销
     * @param memberId
     * @param pageQuery
     * @return
     */
    TableDataInfo<WxMemberDistributionRecordVO> getTwoDistributionRecordList(Long memberId,Long activityId, PageQuery pageQuery);

    Map<String,Object> getDistributionCount(Long memberId,Long activityId,Integer distributionGrade);

    /**
     * 分销统计
     * @param activityId
     * @return
     */
    Map distributionStats(Long activityId);

    /**
     *
     * @param params
     * @param pageQuery
     * @return
     */
    TableDataInfo<DistributionVO> distributionPageList(DistributionParams params, PageQuery pageQuery);
}
